Aspect Weaving with Graph Rewriting

نویسندگان

  • Uwe Aßmann
  • Andreas Ludwig
چکیده

This paper introduces GRS-based AOP which explains a large subclass of AOP weavers as graph rewrite systems (GRS). The corresponding class of AOP problems has a formal background since it inherits all features of graph rewrite systems such as criteria for termination , connuence, and unique normal forms. In particular, it it shown that diierent kinds of rewrite rules form diierent weaver classes. At least two of them (EARS and XGRS weavers) have simple semantics since they always yield unique weaving results. Aaspect-oriented programming (AOP) allows to specify parts and behaviors of components using diierent views, or aspects. These aspects can be speci-ed independently from each other and are combined to the nal form by a weaver tool. This composition process yields software that is better readable (since speciications are modular) and better reusable (since aspects can be re-combined). However, although single instances of AOP such as Adaptive Programming Lie96] or Compositon Filters AWB + 94] rely on formal principles the technique as such does not yet have a formal background. This paper introduces GRS-based AOP which explains a large subclass of weavers as graph rewrite systems (GRS). Hence it has a formal background, inheriting all features of graph rewrite systems such as criteria for termination, connuence, and unique normal forms. In particular, it it shown that diierent kinds of rewrite rules form diierent weaver classes. Although GRS-based AOP does not cover all possible incarnations of AOP, it provides a simple formalism for aspects relying on properties that can be recognized directly from the their syntactical structure. We start with a simple example which demonstrates that graph rewrite rules can describe simple weavings. After introducing some basic terminology we present a reened classiication concering components, join points, and weavers (section 3). With GRS-based AOP, diierent kinds of rewrite rules form diier-ent weaver classes (section 3.1). Some of them have simple semantics since they always yield unique weaving results. For aspects that are encoded into aspect graphs, it is observed that GRS-based weaving must use context-sensitive graph rewriting (section 3.1). In particular, GRS-based AOP simpliies the construction of AOP weavers. Since tools exist which generate code for the graph rewriting speciications weavers can be generated automatically. We demonstrate this with an example with the graph rewrite tool OPTIMIX (section 4). A table comparing the diierent classes of GRS-based AOP concludes the paper.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Modeling and Reasoning over Distributed Systems using Aspect-Oriented Graph Grammars

Aspect-orientation is a relatively new paradigm that introduces abstractions to modularize the implementation of system-wide policies. It is based on a composition operation, called aspect weaving, that implicitly modifies a base system by performing related changes within the system modules. Aspect-oriented graph grammars (AOGG) extend the classic graph grammar formalism by defining aspects as...

متن کامل

Aspects for Graph Grammars

Aspect-oriented programming (AOP) is an extension to the object oriented paradigm that aims to provide better modularity for code that is usually scattered across an object-oriented system such as logging, authentication and distributed object handling. Aspect weaving is a novel way to compose systems, focusing on the integration of system-wide policies through pattern-action rules. While there...

متن کامل

Using Graph-Rewriting for Model Weaving in the context of Aspect-Oriented Product Line Engineering

In this paper we present the concept of combining feature models and solution models through aspect-oriented graph rewriting systems (AO-GRS) in the context of product-line engineering (PLE). Variable parts of software systems are often modelled by feature models in PLE. In Model Driven Development a feature is represented by means of model elements in a solution model, e.g. classes, methods or...

متن کامل

Optimizing Constraint Weaving in Model Transformation with Structural Constraint Specification

Model-Driven Architecture (MDA) as a model-based approach to software development facilitates the synthesis of application programs from models created using customized, domain-specific model processors. MDA model compilers can be realized by graph rewriting-based model transformation. In Visual Modeling and Transformation System (VMTS), metamodel-based rewriting rules facilitate to assign OCL ...

متن کامل

Proofs of the convergence of the rewriting system for the weaving of aspects in the AO - PFA language ∗

AO-PFA is an aspect oriented feature modelling language. This report discusses several theoretical issues regarding the weaving process of AO-PFA. The weaving of aspects is to extract subterms from product family terms in the base specification, and then to replace the extracted subterm (selected join points) by another term (advice). The problem of extracting a subterm from another term is rel...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 1999